<?php

namespace app\admin\model;

use think\Model;

/**
 * 积分商品模型
 * 
 * @property int $id ID
 * @property int $product_id 商品ID
 * @property int $attribute_type 属性类型
 * @property float $price 积分价格
 * @property int $points 所需积分
 * @property int $status 状态
 * @property int $createtime 创建时间
 * @property int $updatetime 更新时间
 */
class ProductPoints extends Model
{
    // 表名
    protected $name = 'product_attribute_price';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    
    // 追加属性
    protected $append = [

    ];
    
    /**
     * 获取积分商品列表
     * 
     * @param int $productId 商品ID
     * @return array
     */
    public static function getListByProductId($productId)
    {
        return self::where('product_id', $productId)
            ->where('attribute_type', 2)
            ->order('id', 'desc')
            ->select();
    }
    
    /**
     * 获取积分商品详情
     * 
     * @param int $productId 商品ID
     * @return array|null
     */
    public static function getByProductId($productId)
    {
        return self::where('product_id', $productId)
            ->where('attribute_type', 2)
            ->find();
    }
    
    /**
     * 检查商品是否已配置积分商品
     * 
     * @param int $productId 商品ID
     * @return bool
     */
    public static function hasPointsProduct($productId)
    {
        return self::where('product_id', $productId)
            ->where('attribute_type', 2)
            ->count() > 0;
    }
}